Component-Based Software Engineering: Modern Trends, Evolution and Perceived Architectural Risks

نویسنده

  • Odd Petter Nord Slyngstad
چکیده

(This page will also be removed by NTNU-trykk and replaced with a template. This page is known as the colophon page, or kolofon side) You will need the two ISBN numbers and the internal NTNU ―thesis number‖ that year. Abstract Motivation: Component-Based Software Engineering (CBSE) is an approach to software reuse where software assets or artifacts from multiple sources are reused to develop systems faster and cheaper. The main benefit of software reuse in CBSE is the enabling of systematic improvement in terms of quality, effort, time-to-market, common software platform/architecture, and standards compliance. A key aim of these improvements is to enable proper management of CBSE-driven software evolution, i.e. helping software engineers become more cost-effective in developing and incorporating high-quality, reusable components and other assets. Knowing the relevant risks and effective handling strategies in software evolution is paramount to achieving improvements in quality, effort and time-to-market. Moreover, the architecture of a software system constitutes its fundamental building blocks. Continued suitability of the architecture over time is therefore crucial to the continued success of the system. Prior investigations on risks and risk management strategies have commonly focused on project-level risks and strategies. Similarly, studies on software architecture have mainly investigated its design, implementation and maintenance. Little prior effort has been made towards studying risks and risk management strategies of architectural evolution. Approach: This thesis investigates the state of practices and issues of modern CBSE, with multi-origin reusable components (in-house software, Commercial Off-The-Shelf software (COTS), and Open Source Software (OSS)), in the development process, based on quantitative and qualitative empirical studies of industrial systems. It also explores software evolution impact, elicited through defect and change reports over time. Test Driven Development (TDD) as a strategy to handle these impacts is also investigated. Finally, surveys are performed on risks and risk management strategies in industrial software projects. The aims (research questions) in this thesis are: RQ1: What is the state of practices and issues with respect to software process improvement in CBSE for COTS/OSS and in-house reusable software? This is answered by two industrial surveys. RQ2: How does software evolution impact individual reusable components, in terms of defect and change densities? This is answered by an industrial case study. RQ3: What are the impacts of Test Driven Development versus test-last development on reusable components? This is answered by an industrial case study. RQ4: What are the perceived architectural risks of CBSE-driven software evolution, …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compositional and Architectural Evolution Issues: a comparison between JMF and MultiTEL

The growing complexity of Web-based services in general, and multimedia services in particular, makes it necessary to apply engineering methods to their development. In particular, Multimedia Engineering may be considered as the field in Software Engineering which deals with the development of open, reusable and quality multimedia and Web-based software. In this paper we apply two of the curren...

متن کامل

A Pattern Language for Evolution in Component-Based Software Architectures

– Modern software systems are prone to a continuous evolution under frequently varying requirements. Architecturecentric software evolution enables change in system structure and behavior while maintaining a global view of software to address evolution-centric tradeoffs. The Lehman’s law of continuing change demands for long-living and continuously evolving architectures to prolong the producti...

متن کامل

On the Evolution of Component-Based Software

In a component-based software system the different components communicate with each other through their interfaces, possibly using adapters. Whenever the requirements or the environment change, the component-based software system must be adapted accordingly. We present a method that supports a systematic evolution of component-based software at the architectural level. It is based on operators ...

متن کامل

Estimating Error Propagation Probabilities in Software Architectures

The study of software architectures is emerging as an important discipline in software engineering, due to its emphasis on large scale composition of software products, and its support for emerging software engineering paradigms such as product line engineering, component based software engineering, and software evolution. Architectural attributes differ from code-level software attributes in t...

متن کامل

SCA and jABC: Bringing a Service-Oriented Paradigm to Web-Service Construction

Extensibility, flexibility, easy maintainability, and long-term robustness are core requirements for modern, highly distributed information and computation systems. Such systems in turn show a steady increase in complexity. In pursuit of these goals, software engineering has seen a rapid evolution of architectural paradigms aiming towards increasingly modular, hierarchical, and compositional ap...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011